package com.ssm.dao;

import com.ssm.entity.File;
import org.apache.ibatis.annotations.Param;

import java.sql.Timestamp;
import java.util.List;

/**
 * Created by bai on 2017/7/28.
 */
public interface FileDao {

    /*File实体类/文档列表的数据库访问操作接口*/

    /**
     * 查询所有文档记录（管理员admin）
     *
     * @return
     */
    List<File> queryAll();



    /**
     * 根据userId(user表内的id)查找相应的所有文档记录
     *
     *@return
     */
    List<File> queryByUserId(@Param("userId") int userId);



    /**
     *根据docId查找单个文档的记录
     *@Param fileId
     *@Return file实例
     *
     */
    File queryById(@Param("fileId") int fileId);

    /**
     *根据docName查找单个文档的记录
     * @Param fileName
     * @return file实例
     */
    File queryByName(@Param("fileName") String fileName);

    /*根据关键词进行模糊匹配
    *@Param keyName
    *@return file实例
    */
    List<File> queryByKeyName(@Param("keyName") String keyName);

    /**
     * 根据fileId删除文档记录
     * @Param fileId
     *
     */
    void deleteFile(@Param("fileId") int fileId);

    /**
     * 添加一条文档记录
     * @Param file
     * @return file
     */
  void addFile(@Param("fileName")  String fileName,@Param("createTime") Timestamp createTime,
               @Param("alterTime")  Timestamp alterTime,@Param("userId")  int userId);



    /**
     * 修改一条文档的记录
     * @Param fileId
     * @Param file
     */
    File updateFile(@Param("fileId") int fileId, @Param("file") File file);

    /**
     * 根据用户名查找其名下的文档
     * */
    List<File> queryByUserName(@Param("username") String username);








}
